/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.front.service.cart;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.thinkgem.jeesite.common.persistence.Page;
import com.thinkgem.jeesite.common.service.CrudService;
import com.thinkgem.jeesite.modules.front.dao.cart.GenCartDao;
import com.thinkgem.jeesite.modules.front.entity.cart.GenCart;
import com.thinkgem.jeesite.modules.product.service.product.GenProductService;

/**
 * 购物车Service
 * @author Egan
 * @version 2016-12-15
 */
@Service
@Transactional(readOnly = true)
public class GenCartService extends CrudService<GenCartDao, GenCart> {

	@Autowired
	GenCartDao genCartDao;
	
	@Autowired
	private GenProductService genProductService;
	
	public GenCart get(String id) {
		return super.get(id);
	}
	
	public List<GenCart> findList(GenCart genCart) {
	    List<GenCart> list = genCartDao.findList(genCart);
        for(GenCart gencart : list){
           gencart.setGenProduct(genProductService.get(gencart.getProductid()));; 
        }
        return list;
	}
	
	public Page<GenCart> findPage(Page<GenCart> page, GenCart genCart) {
		return super.findPage(page, genCart);
	}
	
	@Transactional(readOnly = false)
	public void save(GenCart genCart) {
		super.save(genCart);
	}
	
	@Transactional(readOnly = false)
	public int update(GenCart genCart) {
		return genCartDao.update(genCart);
	}
	
	@Transactional(readOnly = false)
	public void delete(GenCart genCart) {
		super.delete(genCart);
	}
	
	@Transactional(readOnly = false)
	public void deleteByIds(List<String> idLst) {
		genCartDao.deleteByIds(idLst);
	}
	
	public GenCart getGenCartByProductIdAccountId(GenCart genCart) {
		return genCartDao.getGenCartByProductIdAccountId(genCart);
	}
	
	public GenCart getGenCartById(String id) {
		return genCartDao.getGenCartById(id);
	}
	
	public List<GenCart> getGenCartByIds(List<String> ids) {
		return genCartDao.getGenCartByIds(ids);
	}
}